0 GOSUB 5000:GOSUB1500:GOSUB200:GOSUB1000:GOSUB1100:GOSUB1300::GOSUB1010 1 GOSUB 1140 5 GOSUB 3000:GOSUB 4000:GOSUB 1500:TI$="000000" 7 GOSUB 20:GOTO 7 10 JOY=0:JY=PEEK(56320):J2=15-(JYAND15):ONJ2 GOTO11,12,12,13,13,13,13,14:RETURN 11 JOY=-40:RETURN 12 JOY=40:RETURN 13 JOY=-1:RETURN 14 JOY=1:RETURN 20 GOSUB 10 25 GET A$:IFA$="L" THEN GOSUB 491:LEVITATE=-1 27 IF TI$>"000300"THEN A$="YOUR TIME RAN OUT":GOTO 600 30 TEMP=PEEK(MAN+JOY)-40:IFTEMP<0THENLEVITATE=0:GOTO170 40 ON TEMP GOSUB 50,60,80,90,110,130,140,150,160:GOTO 170 50 GOSUB 220:JOY=0:RETURN 60 IFNOTLEVITATETHENPOKEMAN,BLANK:GOSUB125:A$="YOU FELL INTO A PIT":GOTO105 70 K=1:RETURN 80 KEY=-1:POKE1303,43:POKE55575,1:GOSUB 401:RETURN 90 GOSUB 320:IF NOT SWRD THEN A$="YOU LOST TO A BEAST":GOTO 600 100 GOSUB 360:RETURN 105 GOSUB 220:FORTD=1TO200:NEXT:GOTO 600 110 BOMB=BOMB-1:POKE 1823+40*BOMB,45:POKE 56095+40*BOMB,1:IF BOMB=0 THEN 500 120 RETURN 125 GOSUB260:GOSUB220:FORTD=1TO200:RETURN 130 RETURN 140 IF NOT KEY THEN GOSUB 220:JOY=0:RETURN 150 RETURN 160 SWRD=-1:GOSUB 401:POKE 1423,49:POKE55695,1:RETURN 170 XH=0:POKE MAN,BLANK:MAN=MAN+JOY:POKE MAN,FIGURE:IF K=1 THEN POKE MAN,42:K=1 180 Q=MAN-1024:Y=INT(Q/40):X=(Q-Y*40)*8:IFX>255THENXH=INT(X/256):X=X-XH*256 190 Y=Y*8+32:POKE HXSPRITE,XH:POKE LXSPRITE,X:POKE YSPRITE,Y:BLANK=32 195 IFK=1THENK=0:BLANK=42 196 RETURN 200 FOR I=1TO4:READ NO(1,I),DUR(1,I):NEXT 201 FOR I=1TO7:READ NO(2,I),NL(2,I),DUR(2,I):NEXT 205 RETURN 210 DATA 8,100,7,50,7,50,12,300,14 211 DATA 2,24,100,2,24,100,2,24,100,2,163,100,2,24,100,2,163,100,3,35 220 REM BUMP SOUND 230 POKE H1,15:POKE L1,10 240 POKE VOLUME,15:POKE ATTDEC,20:POKE SUSTREL,5:POKE WAVE,NOISE 250 FOR TD=1TO10:NEXT:POKE WAVE,NOISE-1:FOR TD=1TO2:NEXT:RETURN 260 REM FALLING SOUND 270 POKE ATTDEC,10:POKE SUSTREL,10:POKE VOLUME ,15 280 FOR I=200 TO 100 STEP-1 290 POKE H1,I:POKE H2,100:POKE WAVE,TRIANGLE 300 FOR TD=1TO3:NEXT:POKE WAVE,TRIANGLE-1:FOR TD=1TO3:NEXT:NEXT I 310 RETURN 320 REM LION SOUND 330 POKE ATTDEC,100:POKE SUSTREL,100:POKE VOLUME,15 340 POKE H1,2 :POKE H2,10:POKE WAVE,NOISE:FORTD=1TO1000:NEXT:POKE WAVE,NOISE-1 350 FORTD=1TO100:NEXT:RETURN 360 REM VICTORY SOUND 370 POKE ATTDEC,100:POKE SUSTREL,100:POKE VOLUME,15 380 FORI= 1 TO 4:POKE H1,NO(1,I):POKE H2,100:POKE WAVE,SAW 390 FOR TD=1 TO DUR(1,I):NEXT:POKE WAVE,SAW-1:FOR TD=1 TO DUR(1,I):NEXT:NEXT 400 RETURN 401 POKE ATTDEC,14:POKE SUSTREL,201 402 POKE H1,120:POKE WAVE,SAW:FORTD=1TO100:NEXT:POKEWAVE,SAW-1 403 FOR TD=1TO200:NEXT:RETURN 410 REM WIN SOUND AND OPENING SOUND 420 POKEVOLUME,15:POKE ATTDEC,17:POKE SUSTREL,140 430 FOR I= 1TO7:POKE H2,NO(2,I):POKE H1,NL(2,I):POKE WAVE ,SAW 440 FOR TD=1TODUR(2,I):NEXT:POKEWAVE,SAW-1:FORTD=1TODUR(2,I):NEXT:NEXT:RETURN 450 REM LOSE SOUND 460 POKE ATTDEC,100:POKE SUSTREL,120:POKE VOLUME,15 470 POKE H1,4:POKE L1,48:POKE WAVE,SAW:FORTD=1TO500:NEXT:POKE WAVE,SAW-1 480 FOR TD=1TO400:NEXT:POKE H1,2:POKEL1,24:POKEWAVE,SAW:FORTD=1TO900:NEXT 485 POKEWAVE,SAW-1:FOR TD=1TO500:NEXT:RETURN 490 REM LEVITATE SOUND 491 POKE ATTDEC,100:POKE SUSTREL,250:POKE VOLUME,15 492 FOR A=10TO20:FOR B=20 TO27:POKE H1,A+B:POKE L1,40:POKE WAVE,TRIANGLE 493 FOR TD=1 TO2 :NEXT:POKE WAVE,TRIANGLE-1:FOR TD=1 TO 1:NEXT:NEXT:NEXT 494 RETURN 500 POKE53269,0:GOSUB 410:POKE BACKGROUND,1:FOR TD=1 TO 2000:NEXT 510 PRINT"[147]":POKE 251,50:PRINT"[144]CONGRATULATIONS !" 520 PRINT"YOU SAVED THE CASTLE" 530 GOTO 700 600 POKE 53269,0:POKE BACKGROUND,1:GOSUB 450:FOR TD=1 TO 2000:NEXT 610 PRINT"[147][144]"SPC(((40-(LEN(A$)))/2))A$ 620 PRINT"YOU LOST THE CASTLE!" 630 GOTO 710 700 POKE251,0:FORTD=1TO1500:NEXT:PRINT"THIS TIME" 710 FORTD=1TO500:NEXT:PRINT" HIT Y FOR FURTHER ADVENTURES" 720 GET ANS$:IFANS$=""THEN720 730 IF ANS$="Y"THEN POKE BACKGROUND,0:GOTO 5 740 POKE251,0:END 1000 FORL=679TO703:READA:POKEL,A:NEXT:POKE806,167:POKE807,2:POKE251,40:RETURN 1010 PRINTCHR$(144)"[147] FIND THE BOMBS HIDDEN IN THE DUNGEON." 1020 PRINT"DON'T FALL INTO A PIT OR GET EATEN BY " 1030 PRINT"A BEAST. PRESS THE 'L' KEY FOR A " 1040 PRINT" LEVITATION SPELL. YOU HAVE 3 MINUTES" 1050 PRINT" TO FULFILL YOUR QUEST." 1060 PRINT:PRINT:PRINT" (HIT BUTTON TO BEGIN)" 1065 GOSUB 10:IF JY<>111 THEN 1065 1067 RETURN 1070 DATA72,138,72,152,72,166,251,240,8,160,255,136,208,253,202 1080 DATA 208,248,104,168,104,170,104,76,202,241 1100 CM=14336:CS=53248:POKE56334,PEEK(56334)AND254:POKE1,PEEK(1)AND251 1110 FORI=0TO1023:POKECM+I,PEEK(CS+I):NEXT 1120 FORI=CM+320TOCM+320+95:READA:POKEI,ABS(A-255):NEXT 1130 POKE1,PEEK(1)OR4:POKE56334,PEEK(56334)OR1:RETURN 1140 POKE53272,(PEEK(53272)AND240)OR14 1150 RETURN 1160 DATA247,227,246,193,215,247,235,235,255,34,34,34,255,68,68,68 1170 DATA255,231,195,129,129,131,199,255,255,191,95,64,90,186,255,255 1180 DATA191,121,112,1,0,135,55,115,255,239,247,231,195,195,231,255 1190 DATA255,255,255,255,255,255,255,255,255,255,255,129,129,255,255,255 1200 DATA255,255,255,255,255,255,255,255,255,253,251,247,143,207,175,255 1210 DATA191,121,112,1,0,135,55,115,255,255,231,0,0,231,255,255 1300 PRINT CHR$(147):POKE BACKGROUND,0:POKE BRDER,0 1305 READ L,N:IFN=-1THEN GOSUB410:FORTD=1TO2500:NEXT:RETURN 1310 FORJ=0TON:READS:POKEL+J,S:NEXT:GOTO1305 1360 DATA1234,17,85,64,73,112,64,110,85,64,75,64,114,64,112,32,32,112,64,75 1370 DATA1274,16,93,32,32,107,64,115,74,64,73,32,93,32,93,32,32,107,64 1380 DATA1314,17,74,64,75,75,32,125,85,64,75,32,75,32,74,64,75,109,64,73 1420 DATA1393,20,114,64,73,73,32,110,85,73,110,85,64,73,112,64,75,85,64,73,85,73 1430 DATA 110 1440 DATA1433,20,93,32,93,93,32,93,93,93,93,93,64,73,107,64,32,93,32,93,93,93,93 1450 DATA1473,20,113,64,75,74,64,115,125,74,75,74,64,75,109,64,73,74,64,75,125 1455 DATA 74,75,-1,-1 1500 WAVE=54276:NOISE=129:TRIANGLE=17:VOL=54296:SOUND=54272:ATTDEC=54277 1505 BACKGROUND=53281:BRDER=53280:LEVITATE=0:SWRD=0:KEY=0:BOMB=3:LOIN=44 1510 SAW=33:SUSTREL=54278:H1=54273:H2=54272:FIGURE=40:BLANK=32 1515 HXSPRITE=53264:LXSPRITE=53248:YSPRITE=53249:POKE 53271,1:POKE 53277,1 1517 POKE 53269,1:FORI=832TO896:POKEI,255:NEXT:POKE2040,13 1518 POKE 53287,1:POKE53275,1 1520 FOR I=SOUND TO SOUND+28:POKEI,0:NEXT:POKE VOLUME,15:RETURN 3000 I=49152:IF PEEK(I+2)=216THENSYS49160:GOTO 3025 3010 READ A:IF A=256 THENSYS49160:GOTO 3025 3020 POKE I,A:I=I+1:GOTO 3010 3025 FORI=1024TO1062:POKEI,41:POKEI+960,41:NEXT 3027 FORI=55296TO56295:POKEI,0:NEXT:RETURN 3030 DATA 1,0,216,255,255,255,40 3040 DATA 0,169,41,133,251,169,40 3050 DATA 133,253,169,4,133,252,133 3060 DATA 254,169,147,32,210,255,162 3070 DATA 0,160,0,169,41 ,145,253 3080 DATA 200,192,39,208,249,24,165 3090 DATA 253,105,40,133,253,144,2 3100 DATA 230,254,232,224,23,208,229 3110 DATA 160,0,169,4,145,251,169 3120 DATA 255,141,15,212,169,128,141 3130 DATA 18,212,173,27,212,41,3 3140 DATA 133,173,170,10,168,24,185 3150 DATA 0,192,101,251,133,170,185 3160 DATA 1,192,101,252,133,171,24 3170 DATA 185,0,192,101,170,133,253 3180 DATA 185,1,192,101,171,133,254 3190 DATA 160,0,177,253,201,41,208 3200 DATA 18,138,145,253,169,32,145 3210 DATA 170,165,253,133,251,165,254 3220 DATA 133,252,76,62,192,232,138 3230 DATA 41,3,197,173,208,189,177 3240 DATA 251,170,169,32,145,251,224 3250 DATA 4,240,26,138,10,168,162 3260 DATA 2,56,165,251,249,0,192 3270 DATA 133,251,165,252,249,1,192 3280 DATA 133,252,202,208,238,76,62 3290 DATA 192,169,1,160,0,153,0 3300 DATA 216,153,0,217,153,0,218 3310 DATA 153,0,219,200,208,241,96,256 4000 REM CHARACTER PLACEMENTS 4010 T=32:Q=42:FOR I=1 TO 7:GOSUB 4100:NEXT 4020 Q=44:FOR I=1 TO 6:GOSUB 4100:NEXT 4030 Q=45:FOR I=1 TO 3:GOSUB 4100:NEXT 4040 Q=43:FOR I=1 TO 2:GOSUB 4100:NEXT 4050 Q=47:FOR I=1 TO 5 4055 GOSUB 4100 4060 IF(PEEK(PLACE-40)<>32)OR(PEEK(PLACE+40)<>32)THENPOKEPLACE,BLANK:GOTO4055 4070 NEXT 4080 Q=49:GOSUB 4100 4090 Q=FIGURE:GOSUB 4100:MAN=PLACE 4095 T=41:Q=32:FORI=1TO50:GOSUB 4100:NEXT:RETURN 4100 X=(RND(1)*36+2):Y=INT(RND(1)*20+3):PL=Y*40+X+1024:IFPEEK(PLACE)<>TTHEN4100 4110 POKE PLACE,Q:RETURN 5000 PRINT"[147]PLEASE WAIT" 5010 RETURN